java缺少类型为Long的方法参数的URI模板变量“usuarioEntidade”
我试着在这个方法中传递一个参数
@RequestMapping(method = RequestMethod.GET, value = "/distrito/{idEntidade}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Collection<Distritos>> buscarTodosDistritos(@PathVariable Long usuarioEntidade) throws ServletException {
Collection<Distritos> distritosBuscados = distritosService.buscarFiltro(usuarioEntidade);//parametro, que é o id_entidade, para passar na query de busca distritos
return new ResponseEntity<>(distritosBuscados, HttpStatus.OK);
}
我犯了这个错误
Missing URI template variable 'usuarioEntidade' for method parameter of type Long
我在我的前端呼叫这个请求,就在这里
idEntidade = Number(localStorage.getItem("idEntidade"));
$http({
method : 'GET',
url : '/user/distrito/' +idEntidade
}).then(function(response) {
$scope.distritos = response.data;
}, function(response) {
console.log(response.data);
console.log(response.status);
});
};
然后我犯了个错误
Missing URI template variable 'usuarioEntidade' for method parameter of type Long
# 1 楼答案
您必须在buscarTodosDistritos()方法中进行如下更改
或者
# 2 楼答案
粗体参数需要有相同的名称
@RequestMapping(method=RequestMethod.GET,value=“/distrito/{idEntidade}”,products=MediaType.APPLICATION_JSON_value) 公共响应性>;BusCartosDistritos(@PathVariable LongUsarioEntidade)引发ServletException
正确答案
# 3 楼答案
您的问题是rest请求中path变量的名称与传递给java方法的变量的名称不匹配
你有两个选择:
或者: